package com.ruoyi.resume.domain.model;

import lombok.Data;
import org.springframework.stereotype.Component;

import java.util.LinkedHashMap;
import java.util.Map;

@Component
@Data
public class ScoreTemplate {

    private final Map<String, Map<String, Integer>> scoreMap;

    public ScoreTemplate() {
        scoreMap = new LinkedHashMap<>();

//        // 年龄分值 滞留，前端不显示
//        Map<String, Integer> ageScores = new LinkedHashMap<>();
//        ageScores.put("25岁以下", 100);
//        ageScores.put("26-30岁", 80);
//        ageScores.put("31-35岁", 60);
//        ageScores.put("36岁以上", 40);
//        scoreMap.put("年龄分值", ageScores);

        // 学历分值
        Map<String, Integer> educationScores = new LinkedHashMap<>();
        educationScores.put("博士", 100);
        educationScores.put("硕士", 90);
        educationScores.put("本科", 75);
        educationScores.put("大专", 60);
        educationScores.put("中专", 50);
        educationScores.put("高中", 40);
        educationScores.put("初中", 30);
        educationScores.put("小学", 20);
        scoreMap.put("学历分值", educationScores);

        // 学校类别分值
        Map<String, Integer> schoolCategoryScores = new LinkedHashMap<>();
        schoolCategoryScores.put("985", 100);
        schoolCategoryScores.put("211", 90);
        schoolCategoryScores.put("本科", 75);
        schoolCategoryScores.put("本科及以下", 60);
        scoreMap.put("学校类别分值", schoolCategoryScores);

//        // 实习经历分值  // TODO：下边三个放到一起->实践经历
//        Map<String, Integer> internshipScores = new LinkedHashMap<>();
//        internshipScores.put("3项及以上相关实习经历", 100);
//        internshipScores.put("2项相关实习经历", 85);
//        internshipScores.put("1项相关实习经历", 70);
//        internshipScores.put("无相关实习经历", 50);
//        scoreMap.put("实习经历分值", internshipScores);
//
//        // 项目经历分值
//        Map<String, Integer> projectScores = new LinkedHashMap<>();
//        projectScores.put("3项及以上优秀项目", 100);
//        projectScores.put("2项优秀项目", 85);
//        projectScores.put("1项优秀项目", 70);
//        projectScores.put("无项目经历", 50);
//        scoreMap.put("项目经历分值", projectScores);

        // 实践经历分值
        Map<String, Integer> practiceScores = new LinkedHashMap<>();
        practiceScores.put("3项及以上相关实习或优秀项目经历", 100);
        practiceScores.put("2项相关实习或优秀项目经历", 85);
        practiceScores.put("1项相关实习或优秀项目经历", 70);
        practiceScores.put("无相关实习或项目经历", 50);
        scoreMap.put("实践经历分值", practiceScores);


        // 工作经历分值
        Map<String, Integer> workScores = new LinkedHashMap<>();
        workScores.put("10年以上相关工作经验", 100);
        workScores.put("5-10年相关工作经验", 85);
        workScores.put("3-5年相关工作经验", 70);
        workScores.put("少于3年相关工作经验", 60);
        workScores.put("无相关工作经验", 50);
        scoreMap.put("工作经历分值", workScores);

        // 职位层级分值
        Map<String, Integer> jobLevelScores = new LinkedHashMap<>();
        jobLevelScores.put("高层管理", 100);
        jobLevelScores.put("中高层管理", 95);
        jobLevelScores.put("中层管理", 90);
        jobLevelScores.put("中基层管理", 85);
        jobLevelScores.put("核心技术/业务", 85);
        jobLevelScores.put("基层管理", 80);
        jobLevelScores.put("资深员工", 75);
        jobLevelScores.put("普通员工", 70);
        jobLevelScores.put("初级员工", 60);
        jobLevelScores.put("助理/实习生", 50);
        jobLevelScores.put("无相关经验", 30);
        scoreMap.put("职位层级分值", jobLevelScores);
    }

    public Map<String, Map<String, Integer>> getScoreMap() {
        return scoreMap;
    }
}
